home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 24
/
Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso
/
Aminet
/
dev
/
c
/
AmiVoGL_MDEV.lha
/
drivers
/
ibmpc
/
misc.asm
< prev
next >
Wrap
Assembly Source File
|
1991-07-18
|
1KB
|
81 lines
extrn __buffer_segment:word
extrn __buffer_offset:word
extrn __cur_mode:word
extrn __cur_color:word
MISC_TEXT SEGMENT byte public 'CODE'
ASSUME CS: MISC_TEXT
public _vega_clear, _cga_clear
_vega_clear proc far
push bp
mov bp, sp
push es
push ax
push cx
push di
mov dx, 3ceh
mov al, 0
out dx,al
mov dx, 3cfh
mov al, byte ptr __cur_color
out dx,al
mov dx, 3ceh
mov al, 8
out dx,al
mov dx, 3cfh
mov al, 0ffh
out dx, al
mov ax, __buffer_segment
mov es, ax
xor di, di
mov cx, 14000 ; How many words on an EGA 640x350 mode.
cmp __cur_mode, 18 ; Is it a VGA ?
jne not_vga
mov cx, 19200 ; How many words on a VGA 640x480 mode.
not_vga:
mov ax, 0
cld
rep stosw
pop di
pop cx
pop ax
pop es
mov sp, bp
pop bp
ret
_vega_clear endp
_cga_clear proc far
push bp
mov bp, sp
push es
push ax
push cx
push di
mov ax, __buffer_segment
mov es, ax
mov di, __buffer_offset
mov cx, 2000h
cmp __cur_color, 0
jne white
xor ax, ax ; Zero the screen
jmp next
white:
mov ax,0ffffh ; White the screen
next:
cld
rep stosw
pop di
pop cx
pop ax
pop es
mov sp, bp
pop bp
ret
_cga_clear endp
MISC_TEXT ENDS
END